package com.k8.rpc.expoter;

import com.k8.rpc.invoke.Invoker;

public interface Exporter<T> {

    /**
     * get invoker.
     *
     * @return invoker
     */
    Invoker<T> getInvoker();

    /**
     * unexport.
     * <p>
     * <code>
     * getInvoker().destroy();
     * </code>
     */
    void unexport();

    /**
     * register to registry
     */
    void register();

    /**
     * 返回一个future用于后续再次注册时判断是否
     * */


    /**
     * unregister from registry
     */
    void unregister();
}